/**
 * 系统常量管理
 */

/**
 * 状态常量
 */
export const STATUS = {
    // 通用状态
    ENABLED: 1,
    DISABLED: 0,
    
    // 业务状态
    ACTIVE: 'ACTIVE',
    INACTIVE: 'INACTIVE',
    EXPIRED: 'EXPIRED',
    PENDING: 'PENDING',
    
    // 登录状态
    LOGIN_SUCCESS: 0,
    LOGIN_FAILURE: 1,
    
    // 操作类型
    OPERATION_OTHER: 0,
    OPERATION_ADD: 1,
    OPERATION_UPDATE: 2,
    OPERATION_DELETE: 3
};

/**
 * 状态文本映射
 */
export const STATUS_TEXT = {
    [STATUS.ENABLED]: '启用',
    [STATUS.DISABLED]: '禁用',
    [STATUS.ACTIVE]: '激活',
    [STATUS.INACTIVE]: '未激活',
    [STATUS.EXPIRED]: '已过期',
    [STATUS.PENDING]: '待激活',
    [STATUS.LOGIN_SUCCESS]: '成功',
    [STATUS.LOGIN_FAILURE]: '失败',
    [STATUS.OPERATION_OTHER]: '其它',
    [STATUS.OPERATION_ADD]: '新增',
    [STATUS.OPERATION_UPDATE]: '修改',
    [STATUS.OPERATION_DELETE]: '删除'
};

/**
 * 状态样式类映射
 */
export const STATUS_CLASS = {
    [STATUS.ACTIVE]: 'status-active',
    [STATUS.INACTIVE]: 'status-inactive',
    [STATUS.EXPIRED]: 'status-expired',
    [STATUS.PENDING]: 'status-pending'
};

/**
 * 分页常量
 */
export const PAGINATION = {
    DEFAULT_PAGE_SIZE: 20,
    DEFAULT_PAGE_INDEX: 1,
    MAX_PAGE_SIZE: 100
};

/**
 * 获取状态文本
 * @param {string|number} status 状态值
 * @returns {string} 状态文本
 */
export const getStatusText = (status) => {
    return STATUS_TEXT[status] || '未知';
};

/**
 * 获取状态样式类
 * @param {string|number} status 状态值
 * @returns {string} 样式类名
 */
export const getStatusClass = (status) => {
    return STATUS_CLASS[status] || '';
};

export default {
    STATUS,
    STATUS_TEXT,
    STATUS_CLASS,
    PAGINATION,
    getStatusText,
    getStatusClass
}; 